package org.algorithm.wE1.队列.第1周;

/**
 * @date 2022-04-02 星期六 00:00
 * 给定一个整数数据流和一个窗口大小，根据该滑动窗口的大小，计算滑动窗口里所有数字的平均值。
 *
 * 实现 MovingAverage 类：
 *
 * MovingAverage(int size) 用窗口大小 size 初始化对象。
 * double next(int val)成员函数 next每次调用的时候都会往滑动窗口增加一个整数，请计算并返回数据流中最后 size 个值的移动平均值，即滑动窗口里所有数字的平均值。
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/qIsx9U
 */
public class 滑动窗口的平均值 {
    public static void main(String[] args) {
        MovingAverage movingAverage = new MovingAverage(3);
        System.out.println("movingAverage.next(1) = " + movingAverage.next(1)); // 返回 1.0 = 1 / 1
        System.out.println("movingAverage.next(10) = " + movingAverage.next(10)); // 返回 5.5 = (1 + 10) / 2
        System.out.println("movingAverage.next(3) = " + movingAverage.next(3)); // 返回 4.66667 = (1 + 10 + 3) / 3
        System.out.println("movingAverage.next(5) = " + movingAverage.next(5)); // 返回 6.0 = (10 + 3 + 5) / 3

    }
    static class MovingAverage {

        public MovingAverage(int size) {

        }

        public double next(int val) {
            return 0;
        }
    }
}
